
var Enterprise = Ext.data.Record.create([   
	{ name : 'enterprise.id', 	mapping : 'id',  	type : 'int'  }, 
	{ name : 'enterprise.user',	mapping : 'user',	type : 'string'}, 
	{ name : 'enterprise.password',	mapping : 'password',	type : 'string'},
	{ name : 'enterprise.name',	mapping : 'name',	type : 'string'}, 
	{ name : 'enterprise.delegateName',	mapping : 'delegateName',	type : 'string'}, 
	{ name : 'enterprise.delegateId',	mapping : 'delegateId',	type : 'string'}, 
	{ name : 'enterprise.delegateEducation',	mapping : 'delegateEducation',	type : 'int'}, 
	{ name : 'enterprise.delegatePhone',	mapping : 'delegatePhone',	type : 'string'}, 
	{ name : 'enterprise.financeCharger',	mapping : 'financeCharger',	type : 'string'},
	{ name : 'enterprise.controller',	mapping : 'controller',	type : 'string'},
	{ name : 'enterprise.registerAddress',	mapping : 'registerAddress',	type : 'string'},
	{ name : 'enterprise.registerTime',	mapping : 'registerTime',	type : 'date'},
	{ name : 'enterprise.registerCapital',	mapping : 'registerCapital',	type : 'int'},
	{ name : 'enterprise.enterpriseType',	mapping : 'enterpriseType',	type : 'EnterpriseType'},
	{ name : 'enterprise.industryType',	mapping : 'industryType',	type : 'IndustryType'},
	{ name : 'enterprise.introduction',	mapping : 'introduction',	type : 'string'},
	{ name : 'enterprise.license',	mapping : 'license',	type : 'string'},
	{ name : 'enterprise.delegateNumber',	mapping : 'delegateNumber',	type : 'string'},
	{ name : 'enterprise.taxEntryId',	mapping : 'taxEntryId',	type : 'string'},
	{ name : 'enterprise.loanAccount',	mapping : 'loanAccount',	type : 'string'},
	{ name : 'enterprise.contactName',	mapping : 'contactName',	type : 'string'},
	{ name : 'enterprise.contactPosition',	mapping : 'contactPosition',	type : 'string'},
	{ name : 'enterprise.contactMobile',	mapping : 'contactMobile',	type : 'string'},
	{ name : 'enterprise.telephone',	mapping : 'telephone',	type : 'string'},
	{ name : 'enterprise.fax',	mapping : 'fax',	type : 'string'},
	{ name : 'enterprise.email',	mapping : 'email',	type : 'string'},
	{ name : 'enterprise.website',	mapping : 'website',	type : 'string'},
	{ name : 'enterprise.postAddress',	mapping : 'postAddress',	type : 'string'},
	{ name : 'enterprise.postCode',	mapping : 'postCode',	type : 'string'},
	{ name : 'enterprise.atTime',	mapping : 'atTime',	type : 'date'}
]);

var ds_right_select = new Ext.data.Store({
	autoLoad : true,
	url : 'findAllRight.action',
	reader : new Ext.data.JsonReader({
		root : 'root'
	},
	[{ name : 'rightId',     mapping : 'id',    type : 'int'},	
	{ name : 'rightName',    mapping : 'name',  type : 'string'}
	])
});
var ds_ethnic_select = new Ext.data.Store({
	autoLoad : true,
	url : 'findAllEthnic.action',
	reader : new Ext.data.JsonReader({
		root : 'root'
	},
	[{ name : 'ethnicId',     mapping : 'id',    type : 'int'},	
	{ name : 'ethnicName',    mapping : 'name',  type : 'string'}
	])
});

//员工列表，Grid的列模型（ColumnModel）的默认实现。
var cm_enterprise = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer()/*表格前的行号*/,{
		header : '企业名称',
	width : 60,
	sortable : true,
	dataIndex : 'enterprise.name'
}, {
	header : '法人代表',
	width : 60,
	sortable : true,
	dataIndex : 'enterprise.delegateName'
}, {
	header : '法人身份证',
	width : 70,
	dataIndex : 'enterprise.delegateId'
}, {
	header : '学历',
	width : 40,
	dataIndex : 'enterprise.delegateEducation'
}, {
	header : '联系电话',
	width : 60,
	dataIndex : 'enterprise.delegatePhone',
	sortable : true
}, {
	header : '财务负责人',
	width : 70,
	dataIndex : 'enterprise.financeCharger',
	sortable : true
}, {
	header : '实际控制人',
	width : 70,
	dataIndex : 'enterprise.controller',
	menuDisabled : true
}, {
	header : '注册地址',
	width : 60,
	dataIndex : 'enterprise.registerAddress',
	sortable : true
}, {
	header : '注册时间',
	width : 60,
	dataIndex : 'enterprise.registerTime',
	sortable : true
},{
	header : '注册资本（万元）',
	width : 110,
	dataIndex : 'enterprise.registerCapital',
	sortable : true
},{
	header : '企业类型',
	width : 60,
	dataIndex : 'enterprise.enterpriseType',
	sortable : true
},{
	header : '所属行业',
	width : 60,
	dataIndex : 'enterprise.industryType',
	sortable : true
}/*,{
	header : '企业简介',
	width : 60,
	dataIndex : 'enterprise.introduction',
	sortable : true
},{
	header : '工商注册号',
	width : 70,
	dataIndex : 'enterprise.license',
	sortable : true
},{
	header : '机构代码证号',
	width : 90,
	dataIndex : 'enterprise.delegateNumber',
	sortable : true
},{
	header : '税务登记证号',
	width : 50,
	dataIndex : 'enterprise.taxEntryId',
	sortable : true
},{
	header : '贷款卡号',
	width : 50,
	dataIndex : 'enterprise.loanAccount',
	sortable : true
},{
	header : '联系人姓名',
	width : 50,
	dataIndex : 'enterprise.contactName',
	sortable : true
},{
	header : '联系人职务',
	width : 50,
	dataIndex : 'enterprise.contactPosition',
	sortable : true
},{
	header : '联系电话',
	width : 50,
	dataIndex : 'enterprise.contactMobile',
	sortable : true
},{
	header : '联系人固定电话',
	width : 50,
	dataIndex : 'enterprise.telephone',
	sortable : true
},{
	header : '联系人传真',
	width : 50,
	dataIndex : 'enterprise.fax',
	sortable : true
},{
	header : '联系人电子邮箱',
	width : 50,
	dataIndex : 'enterprise.email',
	sortable : true
},{
	header : '企业网址',
	width : 50,
	dataIndex : 'enterprise.website',
	sortable : true
},{
	header : '通信地址',
	width : 50,
	dataIndex : 'enterprise.postAddress',
	sortable : true
},{
	header : '邮政编码',
	width : 50,
	dataIndex : 'enterprise.postCode',
	sortable : true
},{
	header : '认证时间',
	width : 50,
	dataIndex : 'enterprise.atTime',
	sortable : true
},{
	header : '权限级别',
	width : 50,
	dataIndex : 'enterprise.lever',
	sortable : true
}*/]); 
 

//添加员工的表单
var addEnterpriseForm = new Ext.FormPanel({	
	    id : 'addEnterpriseFormId',
		url : 'saveEnterprise.action',	
		labelAlign: 'right',
        frame:true,              
        bodyStyle:'padding:5px 5px 0',
        msgTarget : 'qtip',
        width: 600,
 		items: [{
//            layout:'column',
            items:[{
                columnWidth:.5,
                layout: 'form',
                labelWidth : 100,
                items: [{
                	xtype:'textfield',
					fieldLabel : '公司名称',
					name : 'enterprise.name',
					
//					vtype:'alphanum',//只能输入字母和数字
					allowBlank : false,    //是否允许为空
					maxLength : 100
				}, {
					xtype:'textfield',
					fieldLabel : '登陆账号',
					name : 'enterprise.user',
					vtype:'alphanum',
					allowBlank : false,
					minLength : 4,
					maxLength : 20
				}, {
					xtype:'textfield',
					fieldLabel : '密码',
					name : 'enterprise.password',					
					allowBlank : false,
					minLength : 6,
					maxLength : 20
				}, {
					xtype:'textfield',
					fieldLabel : '法人姓名',
					name : 'enterprise.delegateName',
					maskRe :/[\u4e00-\u9fa5]/,//只能输入中文
					allowBlank : false,
					minLength : 2,
					maxLength : 4
				}, {
					xtype:'textfield',
					fieldLabel : '法人身份证',
					name : 'enterprise.delegateId',
					allowBlank : false,
					minLength : 2,
					maxLength : 4
				}, {
					xtype : "datefield",
					fieldLabel : '法人学历',
					name : 'enterprise.delegateEducation',
					width : 140,
					allowBlank : false,
					minLength : 2,
					maxLength : 10
				}, {
					xtype:'textfield',
					fieldLabel : '法人电话',
					name : 'enterprise.delegatePhone',
					vtype:'alphanum',
					allowBlank : false,
					minLength : 0,
					maxLength : 19
				}, {
					xtype:'textfield',
					fieldLabel : '财务负责人',
					name : 'enterprise.financeCharger',
					allowBlank : false,
					minLength : 2,
					maxLength : 4
				}, {
					xtype:'textfield',
					fieldLabel : '实际控制人',
					name : 'enterprise.controller',
					allowBlank : false,
					minLength : 2,
					maxLength : 4
				}, {
					xtype:'textfield',
					fieldLabel : '注册地址',
					name : 'enterprise.registerAddress',
					allowBlank : false,
					minLength : 2,
					maxLength : 70
				}, {
					xtype:'textfield',
					fieldLabel : '注册资本',
					name : 'enterprise.registerCapital',
					allowBlank : false,
					minLength : 2,
					maxLength : 70
				}]
            },{
                columnWidth:.5,
                layout: 'form',
                items: [{                	
					xtype:'textfield',
					fieldLabel : '企业类型',
					name : 'enterprise.enterpriseType',
					width : 140,
					xtype:'combo',
				    store: new Ext.data.SimpleStore(
		             {
		               fields: ["retrunValue", "displayText"],
		               data: [[1,'小学'],[2,'初中'],[3,'高中'],[4,'中专'],[5,'大专'],[6,'本科'],[7,'硕士'],[8,'博士'],[9,'博士后']]
		             }),
		            valueField :"retrunValue",
		            displayField: "displayText",
		            mode: 'local',
		            forceSelection: true,
		            blankText:'请选择最高学历',
		            emptyText:'选择最高学历',
		            hiddenName:'employee.education',
		            editable: false,
		            triggerAction: 'all',  
					allowBlank : false
				},{                	
					xtype:'textfield',
					fieldLabel : '所属行业',
					name : 'enterprise.industryType',
					width : 140,
					xtype:'combo',
				    store: new Ext.data.SimpleStore(
		             {
		               fields: ["retrunValue", "displayText"],
		               data: [[1,'小学'],[2,'初中'],[3,'高中'],[4,'中专'],[5,'大专'],[6,'本科'],[7,'硕士'],[8,'博士'],[9,'博士后']]
		             }),
		            valueField :"retrunValue",
		            displayField: "displayText",
		            mode: 'local',
		            forceSelection: true,
		            blankText:'请选择最高学历',
		            emptyText:'选择最高学历',
		            hiddenName:'employee.education',
		            editable: false,
		            triggerAction: 'all',  
					allowBlank : false
				},{
					xtype:'textfield',
					fieldLabel : '工商注册号',
					name : 'enterprise.license',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				
				}, {
					xtype:'textfield',
					fieldLabel : '机构代码证号',
					name : 'enterprise.delegateNumber',
					allowBlank : false,
					minLength : 2,
					maxLength : 50
				}, {
					xtype:'textfield',
					fieldLabel : '税务登记证号',
					name : 'enterprise.taxEntryId',
					allowBlank : false,
					minLength : 2,
					maxLength : 30
				}, {
					
					xtype : "textfield",
					fieldLabel : '贷款账号',
					name : 'enterprise.loanAccount',
					allowBlank : false,
					minLength : 2,
					maxLength : 30
				}, {
					xtype:'textfield',
					fieldLabel : '联系人姓名',
					name : 'enterprise.contactName',
					allowBlank : false,
					minLength : 2,
					maxLength : 4
					
				}, {
					xtype:'textfield',
					fieldLabel : '联系人职务',
					name : 'enterprise.contactPosition',
					allowBlank : false,
					maxLength : 40
					
				}, {
					xtype:'textfield',
					fieldLabel : '联系人电话',
					name : 'enterprise.contactMobile',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				}, {
					xtype:'textfield',
					fieldLabel : '固定电话',
					name : 'enterprise.telephone',					
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				}, {
					xtype:'textfield',
					fieldLabel : '联系人传真',
					name : 'enterprise.contactMobile',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				},{
					xtype:'textfield',
					fieldLabel : '联系人电子邮箱',
					name : 'enterprise.email',
					vtype:'email',
					maxLength : 40
					
				},{
					xtype:'textfield',
					fieldLabel : '企业网址',
					name : 'enterprise.website',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				},{
					xtype:'textfield',
					fieldLabel : '通信地址',
					name : 'enterprise.postAddress',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				},{
					xtype:'textfield',
					fieldLabel : '邮政编码',
					name : 'enterprise.postCode',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				},{
					xtype:'textfield',
					fieldLabel : '联系人传真',
					name : 'enterprise.contactMobile',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				},{		
				    xtype : "datefield",//输入日期，请使用此项
					fieldLabel : '认证时间',
					name : 'enterprise.atTime',
					width : 140,
					allowBlank : false
				}
				/*, {
				    
					fieldLabel : '权限等级',	    
					xtype : "combo", 
					allowBlank : false,
					maxLength : 40,
					id : 'right1',
					width : 140,
					hiddenName : 'rightId',
					valueField : 'rightId',
					displayField : 'rightName',
					mode : 'remote',
					store : ds_right_select,
					editable : false,
					triggerAction : 'all',
					loadingText : '加载中...',
					emptyText : '权限等级'
				}*/]
            }]
        },{
           			fieldLabel : '企业简介',
					name : 'employee.remarks',
					xtype : 'textarea',
					allowBlank : false,
					maxLength : 50,
					anchor:'93%'
		},{ 
					xtype : 'hidden',
					name : 'employee.id'
        }],
		buttonAlign : 'right',
		minButtonWidth : 60,
		buttons : [{
			text : '添加',  
			handler : function(btn) {
				var frm = addEnterpriseForm.getForm();
				
				if (frm.isValid()) {// 验证表单各字段是否 符合要求
					btn.disable();  //使 此 添加 按钮不可用，防止重复提交
					var cnfield = frm.findField('enterprise.staffNo');  
					
					frm.submit({   //提交表单
						waitTitle : '请稍候',
						waitMsg : '正在提交表单数据,请稍候...',
						
						success : function(form, action) { //如果 数据 添加 成功
							var store = grid_enterprise.getStore(); //获得现在 grid_enterprise的表格（），用于刷新表格
							if (store.data.length <= 20) { //这里把数据定为20不太好，如果分页查询，每页不是20个数据，程序中要改的地方就很多了
								var enterprise = new Enterprise({//获得刚提交的数据，用来刷新表格， 这样有点麻烦，还没有想到更好的实现方式。
									'enterprise.id' : action.result.id,
									'enterprise.user' : form.findField('enterprise.user').getValue(),
									'enterprise.pass' : form.findField('enterprise.pass').getValue(),
									'enterprise.name' : form.findField('enterprise.name').getValue(),
									'enterprise.sex' : form.findField('enterprise.sex').getValue(),
									'enterprise.post' : form.findField('enterprise.post').getValue(),
									'enterprise.phone' : form.findField('enterprise.phone').getValue(),
									'enterprise.email' : form.findField('enterprise.email').getValue(),
									'enterprise.level' : form.findField('enterprise.level').getValue()
								});
								store.insert(0, [enterprise]);//在客户端表格第一行插入新添加的数据
								if (store.data.length > 20) {//如果刚才表格数据是满页的（这里为20条），把store（表格）最后一条数据去掉
									store.remove(store.getAt(store.data.length - 1));
								}
							}
							Ext.Msg.alert('成功提示', '数据插入成功!!<br>'); //各种提示框 详见 文档MessageBox里
							btn.enable();//把按钮恢复可用。
							window_add_enterprise.hide();
						},
						failure : function() {
							Ext.Msg.show({//如果插入失败，弹出 错误提示框。
								title : '错误提示',
								msg : '"' + cnfield.getValue() + '" ' + '名称已经存在!',
								buttons : Ext.Msg.OK,
								fn : function() {
									cnfield.focus(true);
									btn.enable();//把按钮恢复可用。
								},
								icon : Ext.Msg.ERROR
							});
						}
					});
				}
			}
		}, {
			text : '重置',
			handler : function() {
				addEnterpriseForm.getForm().reset();
			}
		}, {
			text : '取消',
			handler : function() {
				window_add_enterprise.hide();
			}
		}]
	});


//添加员工的弹出窗
var window_add_enterprise = new Ext.Window({ 
	title : '添加员工',
	width : 600,
	resizable : false,
	autoHeight : true,
	modal : true,//True 表示当window显示时对其后面的一切内容进行遮罩，默认false
	closeAction : 'hide',//当关闭按钮被点击时执行的动作。“close”缺省的动作是从DOM树中移除window并彻底加以销毁。“hide” 只是在视觉上通过偏移到零下(negative)的区域的手法来隐藏，这样使得window可通过show 的方法再显示.
	listeners : {//此处用于 再显示上面隐藏的 窗体， 与  closeAction ： ‘hide’ 配合使用。
		'hide' : function() {
			this.setTitle('添加客户');
			this.findById('addEnterpriseFormId').getForm().reset();//为什么没有重置呢？
			
		}
	},
	items : [addEnterpriseForm]
});


//更新员工 表单  ，从 window里分离出来的
var updateEnterpriseForm = new Ext.FormPanel({		
        url : 'updateEnterprise.action', 
        id:'updateEnterpriseId',
        labelAlign: 'right',
        frame:true,              
        bodyStyle:'padding:5px 5px 0',
        msgTarget : 'qtip',
        width: 600,
  		items: [{
//            layout:'column',
            items:[{
                columnWidth:.5,
                layout: 'form',
                labelWidth : 100,
                items: [{
                	xtype:'textfield',
					fieldLabel : '公司名称',
					name : 'enterprise.name',
					
//					vtype:'alphanum',//只能输入字母和数字
					allowBlank : false,    //是否允许为空
					maxLength : 100
				}, {
					xtype:'textfield',
					fieldLabel : '登陆账号',
					name : 'enterprise.user',
					vtype:'alphanum',
					allowBlank : false,
					minLength : 4,
					maxLength : 20
				}, {
					xtype:'textfield',
					fieldLabel : '密码',
					name : 'enterprise.password',					
					allowBlank : false,
					minLength : 6,
					maxLength : 20
				}, {
					xtype:'textfield',
					fieldLabel : '法人姓名',
					name : 'enterprise.delegateName',
					maskRe :/[\u4e00-\u9fa5]/,//只能输入中文
					allowBlank : false,
					minLength : 2,
					maxLength : 4
				}, {
					xtype:'textfield',
					fieldLabel : '法人身份证',
					name : 'enterprise.delegateId',
					allowBlank : false,
					minLength : 2,
					maxLength : 4
				}, {
					xtype : "datefield",
					fieldLabel : '法人学历',
					name : 'enterprise.delegateEducation',
					width : 140,
					allowBlank : false,
					minLength : 2,
					maxLength : 10
				}, {
					xtype:'textfield',
					fieldLabel : '法人电话',
					name : 'enterprise.delegatePhone',
					vtype:'alphanum',
					allowBlank : false,
					minLength : 0,
					maxLength : 19
				}, {
					xtype:'textfield',
					fieldLabel : '财务负责人',
					name : 'enterprise.financeCharger',
					allowBlank : false,
					minLength : 2,
					maxLength : 4
				}, {
					xtype:'textfield',
					fieldLabel : '实际控制人',
					name : 'enterprise.controller',
					allowBlank : false,
					minLength : 2,
					maxLength : 4
				}, {
					xtype:'textfield',
					fieldLabel : '注册地址',
					name : 'enterprise.registerAddress',
					allowBlank : false,
					minLength : 2,
					maxLength : 70
				}, {
					xtype:'textfield',
					fieldLabel : '注册资本',
					name : 'enterprise.registerCapital',
					allowBlank : false,
					minLength : 2,
					maxLength : 70
				}]
            },{
                columnWidth:.5,
                layout: 'form',
                items: [{                	
					xtype:'textfield',
					fieldLabel : '企业类型',
					name : 'enterprise.enterpriseType',
					width : 140,
					xtype:'combo',
				    store: new Ext.data.SimpleStore(
		             {
		               fields: ["retrunValue", "displayText"],
		               data: [[1,'小学'],[2,'初中'],[3,'高中'],[4,'中专'],[5,'大专'],[6,'本科'],[7,'硕士'],[8,'博士'],[9,'博士后']]
		             }),
		            valueField :"retrunValue",
		            displayField: "displayText",
		            mode: 'local',
		            forceSelection: true,
		            blankText:'请选择最高学历',
		            emptyText:'选择最高学历',
		            hiddenName:'employee.education',
		            editable: false,
		            triggerAction: 'all',  
					allowBlank : false
				},{                	
					xtype:'textfield',
					fieldLabel : '所属行业',
					name : 'enterprise.industryType',
					width : 140,
					xtype:'combo',
				    store: new Ext.data.SimpleStore(
		             {
		               fields: ["retrunValue", "displayText"],
		               data: [[1,'小学'],[2,'初中'],[3,'高中'],[4,'中专'],[5,'大专'],[6,'本科'],[7,'硕士'],[8,'博士'],[9,'博士后']]
		             }),
		            valueField :"retrunValue",
		            displayField: "displayText",
		            mode: 'local',
		            forceSelection: true,
		            blankText:'请选择最高学历',
		            emptyText:'选择最高学历',
		            hiddenName:'employee.education',
		            editable: false,
		            triggerAction: 'all',  
					allowBlank : false
				},{
					xtype:'textfield',
					fieldLabel : '工商注册号',
					name : 'enterprise.license',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				
				}, {
					xtype:'textfield',
					fieldLabel : '机构代码证号',
					name : 'enterprise.delegateNumber',
					allowBlank : false,
					minLength : 2,
					maxLength : 50
				}, {
					xtype:'textfield',
					fieldLabel : '税务登记证号',
					name : 'enterprise.taxEntryId',
					allowBlank : false,
					minLength : 2,
					maxLength : 30
				}, {
					
					xtype : "textfield",
					fieldLabel : '贷款账号',
					name : 'enterprise.loanAccount',
					allowBlank : false,
					minLength : 2,
					maxLength : 30
				}, {
					xtype:'textfield',
					fieldLabel : '联系人姓名',
					name : 'enterprise.contactName',
					allowBlank : false,
					minLength : 2,
					maxLength : 4
					
				}, {
					xtype:'textfield',
					fieldLabel : '联系人职务',
					name : 'enterprise.contactPosition',
					allowBlank : false,
					maxLength : 40
					
				}, {
					xtype:'textfield',
					fieldLabel : '联系人电话',
					name : 'enterprise.contactMobile',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				}, {
					xtype:'textfield',
					fieldLabel : '固定电话',
					name : 'enterprise.telephone',					
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				}, {
					xtype:'textfield',
					fieldLabel : '联系人传真',
					name : 'enterprise.contactMobile',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				},{
					xtype:'textfield',
					fieldLabel : '联系人电子邮箱',
					name : 'enterprise.email',
					vtype:'email',
					maxLength : 40
					
				},{
					xtype:'textfield',
					fieldLabel : '企业网址',
					name : 'enterprise.website',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				},{
					xtype:'textfield',
					fieldLabel : '通信地址',
					name : 'enterprise.postAddress',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				},{
					xtype:'textfield',
					fieldLabel : '邮政编码',
					name : 'enterprise.postCode',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				},{
					xtype:'textfield',
					fieldLabel : '联系人传真',
					name : 'enterprise.contactMobile',
					allowBlank : false,
					minLength : 4,
					maxLength : 50
				},{		
				    xtype : "datefield",//输入日期，请使用此项
					fieldLabel : '认证时间',
					name : 'enterprise.atTime',
					width : 140,
					allowBlank : false
				}
				/*, {
				    
					fieldLabel : '权限等级',	    
					xtype : "combo", 
					allowBlank : false,
					maxLength : 40,
					id : 'right1',
					width : 140,
					hiddenName : 'rightId',
					valueField : 'rightId',
					displayField : 'rightName',
					mode : 'remote',
					store : ds_right_select,
					editable : false,
					triggerAction : 'all',
					loadingText : '加载中...',
					emptyText : '权限等级'
				}*/]
            }]
        },{
           			fieldLabel : '企业简介',
					name : 'employee.remarks',
					xtype : 'textarea',
					allowBlank : false,
					maxLength : 50,
					anchor:'93%'
		},{ 
					xtype : 'hidden',
					name : 'employee.id'
        }],
		buttonAlign : 'right',
		minButtonWidth : 60,
		buttons : [{
			text : '修改', 
			handler : function(btn) {
				var frm = updateEnterpriseForm.getForm();
				if (frm.isValid()) {
					btn.disable(); 
					var cnfield1 = frm.findField('enterprise.staffNo'); 
					
					frm.submit({  
						waitTitle : '请稍候',
						waitMsg : '正在提交表单数据,请稍候...',
						
						success : function(form, action) { //如果 数据 添加 成功	
							Ext.Msg.show({    //弹出成功提示框
							title : '成功提示',
							msg : '数据修改成功!',
							buttons : Ext.Msg.OK,
							fn : function(){btn.enable()},
							icon : Ext.Msg.INFO
						});
									
							var store = grid_enterprise.getStore(); 
							var enterprise = new Enterprise({//获得刚提交的数据，用来刷新表格， 这样有点麻烦，还没有想到更好的实现方式。
									'enterprise.id' : action.result.id,
									'enterprise.user' : form.findField('enterprise.user').getValue(),
									'enterprise.pass' : form.findField('enterprise.pass').getValue(),
									'enterprise.name' : form.findField('enterprise.name').getValue(),
									'enterprise.sex' : form.findField('enterprise.sex').getValue(),
									'enterprise.post' : form.findField('enterprise.post').getValue(),
									'enterprise.phone' : form.findField('enterprise.phone').getValue(),
									'enterprise.email' : form.findField('enterprise.email').getValue(),
									'enterprise.level' : form.findField('enterprise.level').getValue()
								});
							var index = store.indexOf(grid_enterprise.getSelectionModel().getSelected());  //的到选中数据的行号
							store.remove(grid_enterprise.getSelectionModel().getSelected());//把选中数据从表中去除
							store.insert(index,enterprise);					//插入修改后的新数据
							grid_enterprise.getSelectionModel().selectRow(index);  //
							
							btn.enable();//把按钮恢复可用。
							window_update_enterprise.hide();//隐藏窗体
						},
						failure : function() {
							Ext.Msg.show({ 
								title : '错误提示',
								msg : '修改失败!\n客户帐号已使用!',
								buttons : Ext.Msg.OK,
								fn : function() {
									cnfield1.focus(true);
									btn.enable();
								},
								icon : Ext.Msg.ERROR
							});
						}
					});
				}
			}
		}, {
			text : '取消',
			handler : function() {
				window_update_enterprise.hide();
			}
		} ]
});

//修改员工的弹出窗  （此表格和上边添加 表格是一样的，只有部分修改）
var window_update_enterprise = new Ext.Window({ 
	title : '修改客户',
	width : 600,
	resizable : false, 
	autoHeight : true, 
	modal : true, 
	closeAction : 'hide', 
		
	items : [updateEnterpriseForm]	
});


//添加员工按钮 ， 点击 弹出添加 窗口
var btn_add_enterprise = new Ext.Button({
	text : '添加客户',
	iconCls : 'icon-add', 
	handler : function() {
		window_add_enterprise.show();  
		
	}
});


//修改员工按钮
var btn_update_enterprise = new Ext.Button({
	text : '修改客户',
	iconCls : 'icon-edit',
	handler : function(){
		var recordEnterprise = grid_enterprise.getSelectionModel().getSelected();//获得选中行的数据，请仔细看看如何获得的
		if(recordEnterprise){  //如果有选中数据
			window_update_enterprise.show();   //弹出  修改数据窗口
			updateEnterpriseForm.getForm().loadRecord(recordEnterprise);//将刚才选中的数据加到弹出窗口的表单里
		}
		else{
			Ext.Msg.alert('修改提示','请先选择要修改的数据!<br>')
		}
	}
});



//删除员工 按钮 ，及实现
var btn_del_enterprise = new Ext.Button({
	text : '删除客户',
	iconCls : 'icon-del',
	handler : function() {
		var record = grid_enterprise.getSelectionModel().getSelected();   
		if (record) {
			var id = grid_enterprise.getSelectionModel().getSelected().get("enterprise.id");// 获得选中行数据的id
			
			Ext.Msg.confirm('确认删除', '你确定删除该条记录?', function(btn) {
				if (btn == 'yes') {
//					Ext.Msg.alert('msg id=',"id="+id);
					Ext.Ajax.request({
						url : 'deleteEnterprise.action',
						params : {
							id : id  
						},
						success : function() {   
							grid_enterprise.getStore().remove(record);
						},
						failure : function() {
							Ext.Msg.show({
								title : '错误提示',
								msg : '删除时发生错误!',
								buttons : Ext.Msg.OK,
								icon : Ext.Msg.ERROR
							});
						}
					});
				}
			});
		}
		else{
			Ext.Msg.alert('提示信息','请先选中要删除的数据!<br>')
		}
	}
});


//搜索 员工 文本框 
var text_search_enterprise = new Ext.form.TextField({
	name : 'textSearchEnterprise',
	width : 200,
	emptyText : '多个条件可用空格隔开!',
	listeners : {
		'specialkey' : function(field, e) {
			if (e.getKey() == Ext.EventObject.ENTER) {
				searchEnterprise();
			}
		}
	}
});


var searchEnterprise = function() {
	ds_enterprise.baseParams.conditions = text_search_enterprise.getValue();
	ds_enterprise.load({
		params : {   
			start : 0,
			limit : 20
		}
	});
}

// 搜索 员工 按钮
var btn_search_enterprise = new Ext.Button({
	text : '查询',
	iconCls : 'icon-search',
	handler : searchEnterprise 
});


//要传输 和读取的数据格式，从后台传来的数据 保存的数据表单 ，通过这里进行缓存和转换 ，这是数据入口函数 ，  这里为json数据格式，我们项目中也用json数据。 详细见帮助文档 Ext.data.Store
var ds_enterprise = new Ext.data.Store({
	proxy : new Ext.data.HttpProxy({  
		url : 'findAllEnterprise.action'
	}),
	reader : new Ext.data.JsonReader({  
		totalProperty : 'totalProperty',
		root : 'root'     
	}, Enterprise  
	)
});



// 员工管理 最外层的可编辑的面板（panel）
var grid_enterprise = new Ext.grid.EditorGridPanel({  
	title : '客户管理',
	iconCls : 'icon-grid',
	loadMask : {msg : '数据加载中...'},
	region : 'center',
	cm : cm_enterprise,  
	ds : ds_enterprise, 
	
	sm : new Ext.grid.RowSelectionModel({singleSelect : true}), //选中 哪一行数据
	enableColumnMove : false, 
	trackMouseOver : false,  
	frame : true,      	
	clicksToEdit : 2,  	
	tbar : [btn_add_enterprise, '-',btn_update_enterprise, '-', btn_del_enterprise, '-', text_search_enterprise, btn_search_enterprise],
	bbar : new Ext.PagingToolbar({
		pageSize : 20,
		store : ds_enterprise,
		displayInfo : true,
		displayMsg : '第 {0} - {1} 条  共 {2} 条',
		emptyMsg : "没有记录"
	})
});


var p_enterprise = {    // ViewPort调用的话，这里边的属性就是viewport的属性设置
	id : 'enterprise-panel',
	border : true,
	layout : 'fit',
	items : [grid_enterprise]
};

//Ext.onReady为ext的入口函数，含有此入口的js 在jsp或者html页面中要最后加载进来（要放在最后）！！
Ext.onReady(function(){
    Ext.QuickTips.init();//出错提示信息初始化
    Ext.form.Field.prototype.msgTarget = 'side';//提示信息默认显示位置    
	var vp = new Ext.Viewport(p_enterprise);//新建个viewport，让其填充整个可用区域。
    Ext.get('loading').remove();
});
